const path = require('path'); // node.js 核心模块，专门用来处理路径问题
const WebpackBar = require('webpackbar') // 打包进度条

module.exports = {
  // 入口
  entry: './src/main.js', // 相对路径
  // 输出
  output: {
    // 文件的输出路径
    // __dirname nodejs的变量，代表当前文件的文件夹目录
    path: path.resolve(__dirname, 'dist'), // 绝对路径
    // 文件名 hash:8 或者 fullhash:8
    filename: 'js/[name].[fullhash:8].js', // 用 hash 码优势，1、避免文件名重复 2、前端更新，便于监听js文件变化。实现自动刷新更新（渡一课程 npm 包 html-update）。
    clean: true,
  },
  // 加载器
  module: {
    rules: [
      // loader 配置
      {
        test: /\.js$/,
        loader: 'babel-loader',
        exclude: /node_modules/,
        options:{
            "presets": [
                "@babel/preset-env"
              ]
        }
      }
    ]
  },
  // 插件
  plugins: [
    //plugin 的配置
    new WebpackBar({
        name:'fuck webpack',
        color: '#85d',
        profile:true,
        // color: '#85d'
        // 默认green，进度条颜色支持HEX  basic: false,
        // 默认true，启用一个简单的日志报告器  profile:false,
        // 默认false，启用探查器。
      })
  ],
  // 模式 开发=development or 生产-production
  mode: 'development'
};
